W12_檢討直播


Posted by Christy on 2021-08-30

Q1: 熟悉Bootstrap在前端業界來說是必備技能嗎?
A1: 不算是,快速上手新工具比較重要。

Q2: 在做 week11 hw 的時候,因為 bug 建立了重複的 帳號密碼,全部都是相同的,可是資料庫中 hash 過後的 password 為什麼會長的不一樣,不是應該一樣嗎?
A2: 加鹽,If omitted, a random salt will be created and the default cost will be used.

所以一定要用 password_verify 才有辦法驗證。

參考資料

Q3: 認為 junior 程度必須涵蓋哪些?
A3: 涵蓋課綱的東西,外加 紮實的網頁前端學習路線與資源推薦 裡面提到的東西。

Q4: 真正工作時,從零到一寫 code 的比例多嗎?感覺許多地方用套件的效率大很多,而有些性質又偏維護,所以實際上應該是除錯佔大部分?
A4: 真正工作時,從零到一寫扣的比例應該不太多了,很難有東西從頭開始做了,一開始應該是維護、debug、加新功能等等。
除錯就是看扣跟加扣的功力很重要。

Q5: 工具要不要全域下載完全看個人習慣使用嗎?上網查是說怕污染環境,什麼情況下會污染環境~?
A5: 不一定看個人習慣使用,主要是在不同地方會不會用到不同工具。例如某專案,要用的是 v2,但環境裡面用的是 v3,這樣就要小心使用了。

Q6: 老師經歷過 app 蓬勃發展的時代,為什麼沒有跑去寫 ios 或是 andriod app 而是繼續在網頁端呢?
A6: 第一份工作有寫過,沒有很喜歡 andriod app,因為有點麻煩,需要考慮的尺寸很多種,比起網頁很容易壞掉,狀態保存也很麻煩。

Q7: 老師請問第十一周的 BLOG 作業檢討中對於經由 GET 得到的 id 再使用 intval() 處理的用意是什麼? 也是為了資訊安全嗎?因為不用的話自己 DEMO 功能是沒有差別,不知道會有哪些情況需要使用,謝謝老師! ❤
A7: 這是一個好習慣,資料庫裡面存的文章 id 就是數字,但用 $_GET 接的東西都是字串,所以轉成數字比較好。知道每個變數的型態,什麼是自己想要的,比較不會有問題。

Q8: 想請問老師~在目前有跟上課程進度狀況下,若之後求職薪資以超過45k為目標,於跟課上老師覺得我們可以往哪方面做努力 謝謝老師
A8: final project 做的比較吸引人的話,會有比較多機會。簡答題如果答的不錯也比較有機會;第十六周的東西面試很常考;挑戰題也可以看一下;觀念是一個很重要的東西。

Q9: 偷偷問 12週環境問題,使用 gulp webpack 這些工具,是每一個有用到的專案資料夾都要分別安裝並設定嗎
A9: 老師推薦每個資料夾個別安裝,才不會污染全域。

Q10: jQuery ajax 的錯誤處理上有哪些是比較需要做的
A10: 其實不太有差別,原本用 XHR 要處理的錯誤都要處理。

Q11: 請問el.childNodes el.children 的區別? https://www.geeksforgeeks.org/what-is-the-difference-between-children-and-childnodes-in-javascript/
A11: 問題可以改進一下,例如說「我有看過以上連結,但沒有很懂之類的」

Node.childNodes

重點在 ParentNode.children 的 polyfill 裡面,有些瀏覽器不支援某些功能的話,就幫它用其他功能來試做這個功能。

看 polyfill 裡面的 code 很明顯,childNodes 跟 children 主要差別在於 nodeType;用 childNodes 找到的東西,就是全部的東西;用 children 找到的東西,是 childNodes 找到的東西裡面 nodeType 是 1 的,接下來就要看什麼情況下 nodeType 是 1?

因此 childNodes 拿到的東西,一定不會少於 children。

可以看下面連結裡面的 "Constant" 例子:
Node.nodeType

Q12: 可以請老師講一下 編碼、加密、雜湊的差異跟運用嗎?
A12: 加密就是 W11 的內容,可以加密就可以解密,運用在加密檔案,例如銀行寄來的 pdf 檔案,解密之後還原結果

雜湊是一個單向的東西,一樣的輸入會產生一樣的輸出,但一樣的輸出無法倒回去推算輸入,不可能逆向推算答案。應用在密碼上面,最理想的儲存就是只有你自己這到密碼。如果不同密碼,雜湊出一樣結果,就叫做碰撞,但一個好的雜湊演算法應該極少碰撞。

編碼: base 64 就是一系列的編碼組合,js 有支援,可在 chrome dev 試試看;或者 encodeURIComponent();用在轉換格式,但不破壞原來的東西。例如 URL 網址列後面的編碼格式

base 64 可以把任何 binary 的檔案變成文字

加密:隱藏內容
雜湊:便是原始內容是否一致
編碼:轉換內容

Q13: 很常在程式碼中看到 this. 像是request.onload = function() {if (this.status >= 200 && this.status < 400) {var resp = this.response;}}; 裡面的 this. 是什麼意思呢?
A13: W16 會講到,放在不同地方,不同意思。在這裡 this => request

Q14: 有看過前後端分離的文章了,但對前端 MVC 跟後端 MVC 的差異跟 MVC 還是有點不清楚,可以再請老師講解一次嗎?
A14: 這個等 W20 如果還不懂再問一次。W21, W22 也會有提。

Q15: 那通常我們要把內容丟到網址上是不是就要先 encodeURL,使用 $_GET['id'] 才不會出錯?
A15: 是的沒錯。










Related Posts

npm套件教學

npm套件教學

程式基礎 —— Javascript 動手做 Part1

程式基礎 —— Javascript 動手做 Part1

2356. Number of Unique Subjects Taught by Each Teacher

2356. Number of Unique Subjects Taught by Each Teacher


Comments